package com.leps.nq.common.util;

import cn.dev33.satoken.stp.StpUtil;
import com.leps.nq.common.SysConsts;

/**
 * 安全工具类，用于获取当前登录用户的信息
 */
public class SecurityUtil {
    /**
     * 获取当前登录的用户id
     * @return
     */
    public static Long getUserId() {
        return StpUtil.getLoginIdAsLong();
    }

    /**
     * 获取当前登录的用户名
     * @return
     */
    public static String getUserName() {
        return StpUtil.getSession().getString("userName");
    }

    /**
     * 判断当前登录用户是超级管理员
     * @return
     */
    public static Boolean isAdmin() {
        return StpUtil.getRoleList().contains("超级管理员");
    }

    /**
     * 判断当前登录用户不是超级管理员
     * @return
     */
    public static Boolean isNotAdmin() {
        return !isAdmin();
    }

    /**
     * 判断当前登录用户是否是客户用户
     * @return
     */
    public static Boolean isCustUser() {
        return StpUtil.hasRole(SysConsts.ROLE_CUST_USER);
    }
}
